{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 联合循环电厂数据回归分析\n",
    "Combined Cycle Power Plant Data Set （数据来自UCI Machine Learning Repository）\n",
    "该数据集包含了从一个联合循环电厂(2006-2011)满负荷运行6年期间收集的9568个数据点。特征包括每小时平均环境温度(AT，单位为摄氏度)、环境压力(AP，单位为毫巴milibar)、相对湿度(RH，为百分比)和排气真空程度(V，单位为厘米汞柱)，以预测电厂每小时净电能输出(PE，兆瓦MW)。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 步骤1：读取数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "      AT      V       AP     RH      PE\n",
      "0  14.96  41.76  1024.07  73.17  463.26\n",
      "1  25.18  62.96  1020.04  59.08  444.37\n",
      "2   5.11  39.40  1012.16  92.14  488.56\n",
      "(9568, 4)\n",
      "(9568, 1)\n",
      "[[  14.96   41.76 1024.07   73.17]\n",
      " [  25.18   62.96 1020.04   59.08]\n",
      " [   5.11   39.4  1012.16   92.14]]\n",
      "[[463.26]\n",
      " [444.37]\n",
      " [488.56]]\n"
     ]
    }
   ],
   "source": [
    "import pandas as pd \n",
    "\n",
    "# pd.read_excel()默认读取第0个sheet的数据\n",
    "# 如果不是在anaconda环境下，需要先安装openpyxl\n",
    "ccpp_data = pd.read_excel(index_col=None,\n",
    "            io=\"data/Combined_Cycle_Power_Plant_Data_Set.xlsx\")\n",
    "\n",
    "print(ccpp_data[:3])\n",
    "\n",
    "X=ccpp_data.iloc[:,:4].values.astype(float)\n",
    "y=ccpp_data.iloc[:,-1:].values.astype(float)\n",
    "\n",
    "print(X.shape)\n",
    "print(y.shape)\n",
    "print(X[:3])\n",
    "print(y[:3])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 步骤2：划分训练集与测试集"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(7654, 4)\n",
      "(1914, 4)\n"
     ]
    }
   ],
   "source": [
    "from sklearn.model_selection import train_test_split\n",
    "X_train, X_test, y_train, y_test = train_test_split(X,y,\n",
    "                                    test_size=0.2, random_state=0)\n",
    "\n",
    "print(X_train.shape)\n",
    "print(X_test.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 步骤3：通过训练数据相关性分析或训练数据可视化，观察训练数据的基本关系"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "皮尔逊系数矩阵：\n",
      "           AT         V        AP        RH        PE\n",
      "AT  1.000000  0.843641 -0.509377 -0.542002 -0.947326\n",
      "V   0.843641  1.000000 -0.415380 -0.308910 -0.869854\n",
      "AP -0.509377 -0.415380  1.000000  0.102791  0.519938\n",
      "RH -0.542002 -0.308910  0.102791  1.000000  0.387859\n",
      "PE -0.947326 -0.869854  0.519938  0.387859  1.000000\n",
      "各特征属性与每小时电量输出之间的关系：\n",
      "PE    1.000000\n",
      "AP    0.519938\n",
      "RH    0.387859\n",
      "V    -0.869854\n",
      "AT   -0.947326\n",
      "Name: PE, dtype: float64\n",
      "<class 'pandas.core.series.Series'>\n",
      "<class 'pandas.core.series.Series'>\n",
      "<class 'pandas.core.series.Series'>\n",
      "<class 'pandas.core.series.Series'>\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 792x504 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "'\\n#也可以使用scatter_matrix来绘制\\nfrom pandas.plotting import scatter_matrix\\nscatter_matrix(train_df, figsize=(12,10))\\nplt.show()\\n'"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pylab as plt\n",
    "\n",
    "train_array = np.hstack((X_train, y_train))\n",
    "\n",
    "train_df = pd.DataFrame(train_array,columns=ccpp_data.columns)\n",
    "#print(train_df[:3])\n",
    "\n",
    "# 通过corr()方法计算每对属性之间的标准关系系数（皮尔逊系数）\n",
    "corr_matrix = train_df.corr()\n",
    "print(\"皮尔逊系数矩阵：\\n\",corr_matrix)\n",
    "# 查看各特征属性与目标值之间的相关性\n",
    "print(\"各特征属性与每小时电量输出之间的关系：\\n\", \\\n",
    "      corr_matrix[\"PE\"].sort_values(ascending=False),sep=\"\")\n",
    "\n",
    "#分别绘制各个自变量与目标变量之间的散点图\n",
    "#print(ccpp_data.columns[:-1])\n",
    "plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文\n",
    "plt.rcParams['axes.unicode_minus'] = False   # 用来正常显示负号\n",
    "d = {\"AT\":\"环境温度\", \"AP\":\"环境压力\", \"RH\":\"相对湿度\", \n",
    "     \"V\":\"排气真空程度\", \"PE\":\"输出电能\"}\n",
    "y_col_name = ccpp_data.columns[-1:][0]\n",
    "\n",
    "'''\n",
    "# 在四个图形中输出\n",
    "for col in  ccpp_data.columns[:-1]:\n",
    "    train_df.plot(kind=\"scatter\", x=col, y=y_col_name,\n",
    "                  title=f\"属性{col}({d[col]})和电能输出(兆瓦MW)的关系\")\n",
    "    plt.xlabel(xlabel=f\"{col}:{d[col]}\")\n",
    "    plt.ylabel(ylabel=f\"{y_col_name}:{d[y_col_name]}\")\n",
    "'''\n",
    "# 在一个图形的四个子图中输出\n",
    "fig, axes = plt.subplots(ncols=2, nrows=2,figsize=(11,7))\n",
    "for ax,col_name in zip(axes.ravel(),ccpp_data.columns[:-1]):\n",
    "    print(type(train_df[col_name]))\n",
    "    ax.scatter(x=np.array(train_df[col_name]),y=np.array(train_df[y_col_name]))\n",
    "    #选择当前子图\n",
    "    plt.sca(ax)\n",
    "    # 设置刻度字体大小\n",
    "    plt.xticks(fontsize=15)\n",
    "    plt.yticks(fontsize=15)    \n",
    "    # 为每个子图设置横纵轴标的标签\n",
    "    plt.xlabel(xlabel=f\"{col_name}:{d[col_name]}\", fontsize=15)\n",
    "    plt.ylabel(ylabel=f\"{y_col_name}:{d[y_col_name]}\", fontsize=15)\n",
    "    \n",
    "#调整子图间距：wspace为横向间距，hspace为纵向间距\n",
    "plt.subplots_adjust(wspace=0.3, hspace=0.5)\n",
    "plt.show()\n",
    "\n",
    "'''\n",
    "#也可以使用scatter_matrix来绘制\n",
    "from pandas.plotting import scatter_matrix\n",
    "scatter_matrix(train_df, figsize=(12,10))\n",
    "plt.show()\n",
    "'''"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 步骤4：以线性回归为例来训练模型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[452.84103716] [[-1.97313099 -0.23649993  0.06387891 -0.15807019]]\n"
     ]
    }
   ],
   "source": [
    "# 建立自变量特征值与目标变量之间的线性回归模型\n",
    "from sklearn.linear_model import LinearRegression\n",
    "m = LinearRegression()\n",
    "m.fit(X_train,y_train)\n",
    "# 输出线性回归模型的截距与回归系数\n",
    "print(m.intercept_, m.coef_)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 步骤5：评估模型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "训练集的均方误差：21.03\n",
      "测试集的均方误差：19.73\n",
      "决定系数：0.93\n"
     ]
    }
   ],
   "source": [
    "# 评估模型性能\n",
    "from sklearn import metrics\n",
    "y_train_pred = m.predict(X_train)\n",
    "y_test_pred = m.predict(X_test)\n",
    "# 均方误差\n",
    "train_mean_squared_error = metrics.mean_squared_error(y_train,y_train_pred)\n",
    "test_mean_squared_error = metrics.mean_squared_error(y_test,y_test_pred)\n",
    "print(\"训练集的均方误差：{:.2f}\".format(train_mean_squared_error))\n",
    "print(\"测试集的均方误差：{:.2f}\".format(test_mean_squared_error))\n",
    "# 决定系数\n",
    "test_predict_score = m.score(X_test,y_test)\n",
    "print(\"决定系数：{:.2f}\".format(test_predict_score))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 步骤6：用新的数据来预测电能输出"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "预测的电能输出为：[[467.18395325]\n",
      " [483.61838258]]\n"
     ]
    }
   ],
   "source": [
    "X_new = np.array([[15, 42, 1024, 73],\n",
    "                  [5,  40,  1012, 92]])\n",
    "print(\"预测的电能输出为：{}\".format(m.predict(X_new)))"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
